package com.education.welco.mapper;


import com.education.welco.pojo.SCatalogMenu;
import com.education.welco.pojo.vo.SCatalogMenuVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 教师私有备课目录 数据层
 *
 * @author d
 * @date 2020-05-08
 */
@Repository
public interface SCatalogMenuMapper {

    //根据catalogMenuId查询一级目录
    public SCatalogMenu findByCatalogMenuId(Integer catalogMenuId);

    //根据parentId查询目录
    public List<SCatalogMenu> findByParentId(Integer parentId);

    /**
     * 查询教师私有备课目录信息
     *
     * @param id 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    public SCatalogMenu selectSCatalogMenuById(Integer id);

    /**
     * 统计总和
     *
     * @param userId 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    public Integer selectSCatalogMenuCount(@Param("userId") Integer userId);


    /**
     * 查询教师私有备课目录信息 根据父级id
     *
     * @param parentId 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    public List<SCatalogMenu> selectSCatalogMenuByParentId(Integer parentId);


    /**
     * 查询教师私有备课目录信息 根据父级id
     *
     * @param parentId 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    public List<SCatalogMenu> selectSCatalogMenuByParentId2(@Param("parentId") Integer parentId);


    /**
     * 查询教师私有备课目录信息 根据父级id
     *
     * @param parentId 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    public List<SCatalogMenu> selectSCatalogMenuByParentId3(@Param("parentId") Integer parentId);

    /**
     * 查询教师私有备课目录列表
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 教师私有备课目录集合
     */
    public List<SCatalogMenu> selectSCatalogMenuList(SCatalogMenu sCatalogMenu);

    /**
     * 查询教师私有备课目录列表
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 教师私有备课目录集合
     */
    public List<SCatalogMenu> selectSCatalogMenuListTwo(SCatalogMenu sCatalogMenu);


    /**
     * 查询教师私有备课目录列表
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 教师私有备课目录集合
     */
    public List<SCatalogMenu> selectSCatalogMenuList6(SCatalogMenu sCatalogMenu);


    /**
     * 查询教师私有备课目录列表
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 教师私有备课目录集合
     */
    public SCatalogMenu selectSCatalogMenuList2(SCatalogMenu sCatalogMenu);

    /**
     * 新增教师私有备课目录
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 结果
     */
    public int insertSCatalogMenu(SCatalogMenu sCatalogMenu);

    /**
     * 修改教师私有备课目录
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 结果
     */
    public int updateSCatalogMenu(SCatalogMenu sCatalogMenu);

    /**
     * 删除教师私有备课目录
     *
     * @param id 教师私有备课目录ID
     * @return 结果
     */
    public int deleteSCatalogMenuById(Integer id);

    /**
     * 批量删除教师私有备课目录
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteSCatalogMenuByIds(String[] ids);

    Map<String, Object> selectNameById(Integer catalogId);

    SCatalogMenuVo selectSCatalogMenuList22(SCatalogMenu sCatalogMenu);

    List<SCatalogMenuVo> selectSCatalogMenuByParentId1(Integer parentId);

}